package com.itcam.phaselist.collection_;

import java.util.ArrayList;
import java.util.List;

/**
 * Collection接口实现类
 * 1.collection实现子类可以存放多个元素，每个元素可以是Object
 * 2.有些Collection的实现类，可以存放重复的元素，有些不可以
 * 3.有些Collection的实现类，有些是有序的（List）,有些不是有序的（Set）
 * 4.Collection接口没有直接的实现子类，是通过他的子接口Set和List来实现的
 */
public class CollectionMethod {
    public static void main(String[] args) {
        List list = new ArrayList();

        // add:添加单个元素
        list.add("cammy");
        list.add(10); // ==>list.add(new Integer(10))
        list.add(true);
        System.out.println("list = " + list);

        // remove:删除指定元素
        list.remove(0); // 删除第一个元素
        list.remove(true);
        System.out.println("list = " + list);

        // contains:查找元素是否存在
        System.out.println("contains " + list.contains("cammy"));

        // size:获取元素个数
        System.out.println("size " + list.size());

        // isEmpty:判断是否为空
        System.out.println("isEmpty " + list.isEmpty());

        // clear:清空元素
        list.clear();
        System.out.println("list = " + list);

        // addAll:添加多个元素
        List list2 = new ArrayList();
        list2.add("cammy");
        list2.add("lonely");
        list.addAll(list2);
        System.out.println("list " + list);

        // removeAll:删除多个元素
        list.removeAll(list2);
        System.out.println("After removeAll list " + list);
    }
}
